kindでKubernetesクラスターを作成してArgo CDのGetting Startedをやってみる

kindでKubernetesクラスターを作成してArgo CDのGetting Startedをやってみる

Clock Icon2023.03.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「Argo CDをローカルで手軽に試してみたい」

今回はkindを使って、ローカルにkubernetesクラスターを作成して、Argo CDのGetting Startedをやってみます。

EKSで試してみたい場合は、以下の記事はがおすすめです。

やってみた

kindでKubernetesクラスターを作成する

kindはbrewでインストールできます。

$ brew install kind

kindでクラスターを作成します。

$ kind create cluster

しばらく待つと、クラスターが作成されたことを確認できます。

$ kind get clusters
kind
$ kubectl config get-contexts
kind-kind
$ kubectl get nodes
NAME                 STATUS   ROLES           AGE     VERSION
kind-control-plane   Ready    control-plane   8m12s   v1.25.3

Argo CDをインストールする

Argo CD用のnamaspace作成後、マニフェストを適用してArgo CDをインストールします。

$ kubectl create namespace argocd
$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Argo CDサーバーへのアクセス

brewでArgo CDのCLIをインストールしておきます。

$ brew install argocd

Argo CDサーバーへのアクセス方法はいくつかありますが、今回はポートフォワードで接続します。

$ kubectl port-forward svc/argocd-server -n argocd 8080:443

ブラウザで以下にアクセスします。

https://localhost:8080/

ログイン画面が確認できました。

パスワードは以下のコマンドで確認できます。

$ argocd admin initial-password -n argocd

ユーザー名とパスワードを入力してログインします。

  • 初期ユーザー名: admin
  • 初期パスワード: コマンドで確認した初期パスワード

サンプルアプリケーションのデプロイ

サンプルアプリケーションをデプロイしてみましょう。

項目 設定値
Application Name guestbook
Project Name default
Repository URL https://github.com/argoproj/argocd-example-apps.git
Path guestbook
Cluster URL https://kubernetes.default.svc
Namespace default

アプリケーションを作成できると、ステータスはOutOfSyncになっていると思います。

一通り設定が終わったら、SYNCを実行してアプリケーションをデプロイします。

ステータスがSyncedになりアプリケーションをデプロイできました。

GUI上でGithubリポジトリとの差分はどのように表示されるのか

forkしたサンプルアプリケーションリポジトリを使って、Argo CDのアプリケーションを作成して試してみました。

Github上でreplicasを2に変更してみます。

しばらく待つか、Refreshボタンを押すとステータスがOutOfSyncになっていることが確認できます。

Argo CDの画面上から、APP DIFFを見てみると差分を確認できます。

差分の内容は想定通りのため、SYNCを実行します。 replicasが増えたことをArgo CDの画面上からも確認できます。

HISTORY AND ROLLBACKから履歴を確認できます。

また、特定のデプロイを再デプロイしたりロールバックすることもできます。

後片付け

検証が終わったら以下のコマンドで作成したクラスターを削除します。

$ kind delete cluster

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.